package com.zhongge.model.dao;

import com.zhongge.model.entity.Category;

import java.util.List;

/**
 * @InterfaceName CategoryDao
 * @Description TODO
 * @Author zhongge
 * @Version 1.0
 */
public interface CategoryDao {
    /**
     * 根据用户ID查询所有分类
     * @param userId 用户ID
     * @return 分类列表
     */
    List<Category> findByUserId(Integer userId);

    /**
     * 根据ID查询分类
     * @param id 分类ID
     * @return 分类对象
     */
    Category findById(Integer id);

    /**
     * 添加分类
     * @param category 分类对象
     * @return 受影响的行数
     */
    int insert(Category category);

    /**
     * 更新分类
     * @param category 分类对象
     * @return 受影响的行数
     */
    int update(Category category);

    /**
     * 删除分类
     * @param id 分类ID
     * @return 受影响的行数
     */
    int delete(Integer id);

    /**
     * 检查分类名称是否已存在
     * @param userId 用户ID
     * @param name 分类名称
     * @return 是否存在
     */
    boolean checkNameExists(Integer userId, String name);
}
